package com.gengzp.rpc.model.req;

import java.io.Serial;
import java.io.Serializable;

/**
 * @ClassName RpcGenericReq
 * @Description rpc请求实体
 * @Author gengzp
 * @Date 2025/6/1 0:59
 */
public class RpcRequestReq implements Serializable {

    @Serial
    private static final long serialVersionUID = -2064141611994678580L;

    /**
     * 请求唯一标识
     */
    private String requestId;

    /**
     * 消费者服务名
     */
    private String consumerServiceName;

    /**
     * 生产者服务名
     */
    private String producerServiceName;

    /**
     * 远程调用接口类
     */
    private Class<?> interfaceClass;

    /**
     * 方法名
     */
    private String methodName;

    /**
     * 参数类型列表
     */
    private Class<?>[] parameterTypes;

    /**
     * 参数列表
     */
    private Object[] args;

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getConsumerServiceName() {
        return consumerServiceName;
    }

    public void setConsumerServiceName(String consumerServiceName) {
        this.consumerServiceName = consumerServiceName;
    }

    public String getProducerServiceName() {
        return producerServiceName;
    }

    public void setProducerServiceName(String producerServiceName) {
        this.producerServiceName = producerServiceName;
    }

    public Class<?> getInterfaceClass() {
        return interfaceClass;
    }

    public void setInterfaceClass(Class<?> interfaceClass) {
        this.interfaceClass = interfaceClass;
    }

    public String getMethodName() {
        return methodName;
    }

    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    public Object[] getArgs() {
        return args;
    }

    public void setArgs(Object[] args) {
        this.args = args;
    }

    public Class<?>[] getParameterTypes() {
        return parameterTypes;
    }

    public void setParameterTypes(Class<?>[] parameterTypes) {
        this.parameterTypes = parameterTypes;
    }

}
